Skip to main content

RESTful API 简介

REST(Representational State Transfer)是一种架构风格,用于设计网络服务。RESTful API 是符合 REST 原则的 Web API,具备统一、简洁、无状态等特性,广泛应用于 Web、移动应用、微服务之间的通信。


🌐 核心理念

RESTful API 的设计基于资源(Resource)而非动作。每个资源通过 URL 表示,使用标准 HTTP 方法进行操作。


🧱 资源与操作映射

HTTP 方法操作类型示例含义
GET读取资源获取用户信息
POST创建资源新建一条订单
PUT更新资源(完整替换)更新整个用户信息
PATCH局部更新修改用户邮箱
DELETE删除资源删除某个评论

📦 URL 设计规范

# 用户资源
GET /users # 获取所有用户
GET /users/123 # 获取指定用户
POST /users # 创建新用户
PUT /users/123 # 更新用户信息
DELETE /users/123 # 删除用户

# 嵌套资源(如订单)
GET /users/123/orders # 获取用户订单
POST /users/123/orders # 创建订单
tip

URL 使用名词复数,操作通过 HTTP 动作语义体现,无需在 URL 中加动词(如 /getUsers 是反 REST 风格)


📄 示例响应格式(JSON)

{
"id": 123,
"name": "Alice",
"email": "alice@example.com"
}

🔒 身份验证与安全

常用方式:

  • Token-Based(如 JWT)
  • OAuth2
  • API Key

请求示例:

GET /users/123 HTTP/1.1
Authorization: Bearer <token>

🧪 状态码约定

状态码含义
200 OK请求成功
201 Created成功创建资源
204 No Content成功但无返回
400 Bad Request请求参数错误
401 Unauthorized未认证
403 Forbidden无权限访问
404 Not Found资源不存在
500 Internal Server Error服务器内部异常

✨ RESTful vs RPC

特性RESTfulRPC(Remote Procedure Call)
关注点资源操作
接口风格URL + HTTP 方法接口名称 + 参数
常见格式JSON, XMLgRPC, Protobuf
适合场景Web, 移动 API内部微服务调用,高性能通信

📚 推荐阅读